/**
*	bootstrap msg公共js模块
*   @Author jackson wang
*   @date 2016-09-022
*   @version 1.0
*
*/

define(["jquery",'toastr','codeDef'], 
	function($,toastr,codeDef) {
	
	'use strict';
	
	var public_method = {
		
		/**
		 * 信息提示
		 * @param msg 信息
		 */
		msgSlide:function(msg){
			var _df = {
				type:'success',
				msg:'操作成功'
			}
			
			if(msg){
				_df.msg = msg;
			}
			private_method.msgSlide(_df);
		}
		,
		/**
		 * 信息提示
		 * @param _options.msg	提示信息
		 * @param _options.type	提示类型(success,info,warn,error)
		 */
		infoSlide:function(msg){
			var _df = {
				type:'info',
				msg:'操作成功'
			}
			

			if(msg){
				_df.msg = msg;
			}
			private_method.msgSlide(_df);
		}
		
		,
		/**
		 * 信息提示
		 * @param _options.msg	提示信息
		 * @param _options.type	提示类型(success,info,warn,error)
		 */
		warnSlide:function(msg){
			var _df = {
				type:'warn',
				msg:'操作成功'
			}
			

			if(msg){
				_df.msg = msg;
			}
			private_method.msgSlide(_df);
		}
		
		,
		/**
		 * 信息提示
		 * @param _options.msg	提示信息
		 * @param _options.type	提示类型(success,info,warn,error)
		 */
		errorSlide:function(msg){
			var _df = {
				type:'error',
				msg:'操作成功'
			}
			

			if(msg){
				_df.msg = msg;
			}
			private_method.msgSlide(_df);
		},
		errorSelect:function(data){
			if(data.length){
				//选中多行
				bsMsgServ.warnSlide(
		 			codeDef.getConfig({
		 				type:'select',code:'multy'
		 			})
		 		);
			}else{
				//未选中行
				bsMsgServ.warnSlide(
		 			codeDef.getConfig({
		 				type:'select',code:'none'
		 			})
		 		);
			}
		}
	}
	
	var private_method = {
		
			/**
			 * 信息提示
			 * @param _options.msg	提示信息
			 * @param _options.type	提示类型(success,info,warn,error)
			 */
			msgSlide:function(_options){
				var _df = {
					type:'success',
					msg:'操作成功'
				}
				
				var _default = $.extend({},_df,_options);
				
				toastr.options = {
				  "closeButton": false,
				  "debug": false,
				  "newestOnTop": false,
				  "progressBar": false,
				  "rtl": false,
				  "positionClass": "toast-bottom-right",
				  "preventDuplicates": false,
				  "onclick": null,
				  "showDuration": 300,
				  "hideDuration": 1000,
				  "timeOut": 5000,
				  "extendedTimeOut": 1000,
				  "showEasing": "swing",
				  "hideEasing": "linear",
				  "showMethod": "fadeIn",
				  "hideMethod": "fadeOut"
				}
				switch(_default.type){
					case 'success':
						toastr.success(_default.msg);
						break;
					case 'info':
						toastr.info(_default.msg);
						break;
					case 'warn':
						toastr.warning(_default.msg);
						break;
					case 'error':
						toastr.error(_default.msg);
						break;
					default:
						toastr.success(_default.msg);
				}
				
			}
	}
	
	return public_method;
})